package cn.itcast.mapper;

import cn.itcast.pojo.admin;
import cn.itcast.pojo.adminExample;
import java.util.List;
import java.util.Map;

import cn.itcast.pojo.role;
import org.apache.ibatis.annotations.Param;

public interface adminMapper {
    int countByExample(adminExample example);

    int deleteByExample(adminExample example);

    int deleteByPrimaryKey(Integer adminId);

    int insert(admin record);

    int insertSelective(admin record);

    List<admin> selectByExample(adminExample example);

    admin selectByPrimaryKey(Integer adminId);

    int updateByExampleSelective(@Param("record") admin record, @Param("example") adminExample example);

    int updateByExample(@Param("record") admin record, @Param("example") adminExample example);

    int updateByPrimaryKeySelective(admin record);

    int updateByPrimaryKey(admin record);

    /**
     * 根据管理员登录用户名查询该管理员的信息
     * @param adminId
     * @return
     */
    List<admin> getAdminByAdminId(Integer adminId);

    /**
     * 获取所有的管理员以及管理所拥有的角色信息
     * @param map
     * @return
     */
    List<admin> getAllAdmin(Map<String,Object> map);

    /**
     * 给管理员添加相应的角色
     * @param adminId
     * @param roleId
     * @return
     */
    int addAdminAndRole(Integer adminId, int roleId);

    int deleteAdminAndRole(int adminId);

    /**
     * 根据管理员id查询管理员所有的角色id
     * @param adminId
     * @return
     */
    List<Integer> getRoleIdsByAdminId(Integer adminId);

    /**
     *
     * @Description:  查看手机号对应的管理员
     *
     * @auther: 张松
     * @date: 10:51 2020/7/15
     * @param: [phone]
     * @return: cn.itcast.pojo.admin
     *
     */
    admin selectPhone(String phone);

}